package com.zhichat.web.dto;

import com.zhichat.infrastructure.util.Utils;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * @ClassName: MsgDTO
 * @Description: 消息DTO
 * @Author: 团长九哥 https://space.bilibili.com/602197686
 * @CreateDate: 2024/12/18 10:08
 */
@Data
public class MsgDTO implements Serializable {
    /**
     * 消息内容
     */
    @NotBlank(message = "消息内容不能为空")
    @Size(min = 1, max = 1000, message = "消息内容长度不能超过1000")
    private String msg;
    /**
     * 接收者ID
     */
    @NotNull(message = "接收者ID必须指定")
    private Long receiverId;
    /**
     * 接收者类型
     */
    @NotNull(message = "接收者类型必须指定")
    private Integer receiverType;
    /**
     * 消息类型
     */
    @NotNull(message = "消息类型必须指定")
    private Integer msgType;
    /**
     * 文件名称
     */
    private String fileName;
    /**
     * 文件大小
     */
    private Long fileSize;
    /**
     * 文件类型
     */
    private Integer fileType;

    public String getMsg() {
        return Utils.cleanHtmlTagHandling(msg); // 防止html注入
    }
}
